From: Florian Müllner Date: Tue, 28 Jul 2020 15:50:58 +0000 (+0200) Subject: popupMenu: Ungrab when removing active menu X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~87 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=260405a49e0749dc5147b3b4f1d43ed9cd4bfafc;p=gnome-shell.git popupMenu: Ungrab when removing active menu While we do have some handling for removing the active menu, it has been a no-op for years. The bit that we really care about from the PopupMenuManager's point of view is the existing grab though. Drop that instead of calling _closeMenu() directly; ungrabbing will still call the method indirectly, and it will still be a no-op :-) https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3022 --- diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 222dbe9c4..6d15261fd 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -1325,7 +1325,7 @@ var PopupMenuManager = class { removeMenu(menu) { if (menu == this.activeMenu) - this._closeMenu(false, menu); + this._grabHelper.ungrab({ actor: menu.actor }); let position = this._findMenu(menu); if (position == -1) // not a menu we manage